#ifndef FILTER_UTILS_H
#define FILTER_UTILS_H
#include <opencv2/opencv.hpp>
#include <vector>
class FilterUtils {
public:
    // 构造函数和析构函数
    FilterUtils() = default;
    ~FilterUtils() = default;

    // 均值滤波
    static cv::Mat meanBlur(const cv::Mat& src, int ksize = 3);

    // 高斯滤波
    static cv::Mat gaussianBlur(const cv::Mat& src, int ksize = 3, double sigmaX = 0, double sigmaY = 0);

    // 中值滤波
    static cv::Mat medianBlur(const cv::Mat& src, int ksize = 3);

    // 双边滤波
    static cv::Mat bilateralFilter(const cv::Mat& src, int d = 9, double sigmaColor = 75, double sigmaSpace = 75);

    // 自定义卷积滤波
    static cv::Mat customFilter2D(const cv::Mat& src, const cv::Mat& kernel);
};

#endif // FILTER_UTILS_H
